﻿using System;
using SharpSqlAnalyzer.nodes.hive;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x0200037D RID: 893
	[Obsolete("TWindowSpecification is deprecated, please use TWindowDef instead.")]
	public class TWindowSpecification : TParseTreeNode
	{
		// Token: 0x17000818 RID: 2072
		// (get) Token: 0x0600255D RID: 9565 RVA: 0x00339AEE File Offset: 0x00337CEE
		// (set) Token: 0x0600255E RID: 9566 RVA: 0x00339AF6 File Offset: 0x00337CF6
		public virtual TPartitionClause Partitionlause
		{
			get
			{
				return this._partitionClause;
			}
			set
			{
				this._partitionClause = value;
			}
		}

		// Token: 0x17000819 RID: 2073
		// (get) Token: 0x0600255F RID: 9567 RVA: 0x00339AFF File Offset: 0x00337CFF
		// (set) Token: 0x06002560 RID: 9568 RVA: 0x00339B07 File Offset: 0x00337D07
		public virtual TOrderBy OrderBy
		{
			get
			{
				return this.orderBy;
			}
			set
			{
				this.orderBy = value;
			}
		}

		// Token: 0x1700081A RID: 2074
		// (get) Token: 0x06002561 RID: 9569 RVA: 0x00339B10 File Offset: 0x00337D10
		// (set) Token: 0x06002562 RID: 9570 RVA: 0x00339B18 File Offset: 0x00337D18
		public virtual THiveDistributeBy DistributeBy
		{
			get
			{
				return this.distributeBy;
			}
			set
			{
				this.distributeBy = value;
			}
		}

		// Token: 0x1700081B RID: 2075
		// (get) Token: 0x06002563 RID: 9571 RVA: 0x00339B21 File Offset: 0x00337D21
		// (set) Token: 0x06002564 RID: 9572 RVA: 0x00339B29 File Offset: 0x00337D29
		public virtual TWindowFrame WindowFrame
		{
			get
			{
				return this.windowFrame;
			}
			set
			{
				this.windowFrame = value;
			}
		}

		// Token: 0x1700081C RID: 2076
		// (get) Token: 0x06002565 RID: 9573 RVA: 0x00339B32 File Offset: 0x00337D32
		// (set) Token: 0x06002566 RID: 9574 RVA: 0x00339B3A File Offset: 0x00337D3A
		public virtual THiveClusterBy ClusterBy
		{
			get
			{
				return this.clusterBy;
			}
			set
			{
				this.clusterBy = value;
			}
		}

		// Token: 0x1700081D RID: 2077
		// (get) Token: 0x06002567 RID: 9575 RVA: 0x00339B43 File Offset: 0x00337D43
		// (set) Token: 0x06002568 RID: 9576 RVA: 0x00339B4B File Offset: 0x00337D4B
		public virtual THiveSortBy SortBy
		{
			get
			{
				return this.sortBy;
			}
			set
			{
				this.sortBy = value;
			}
		}

		// Token: 0x1700081E RID: 2078
		// (get) Token: 0x06002569 RID: 9577 RVA: 0x00339B54 File Offset: 0x00337D54
		// (set) Token: 0x0600256A RID: 9578 RVA: 0x00339B5C File Offset: 0x00337D5C
		public virtual TObjectName WindowName
		{
			get
			{
				return this.windowName;
			}
			set
			{
				this.windowName = value;
			}
		}

		// Token: 0x0600256B RID: 9579 RVA: 0x00339B65 File Offset: 0x00337D65
		public override void init(object arg1)
		{
			this.windowName = (TObjectName)arg1;
		}

		// Token: 0x0600256C RID: 9580 RVA: 0x00339B74 File Offset: 0x00337D74
		public override void init(object arg1, object arg2, object arg3)
		{
			this.init(arg1);
			if (arg2 != null)
			{
				TWindowPartitioningSpec twindowPartitioningSpec = (TWindowPartitioningSpec)arg2;
				this._partitionClause = twindowPartitioningSpec.PartitionClause;
				this.orderBy = twindowPartitioningSpec.OrderBy;
				this.sortBy = twindowPartitioningSpec.SortBy;
				this.clusterBy = twindowPartitioningSpec.ClusterBy;
				this.distributeBy = twindowPartitioningSpec.DistributeBy;
			}
			this.windowFrame = (TWindowFrame)arg3;
		}

		// Token: 0x0600256D RID: 9581 RVA: 0x00339BDA File Offset: 0x00337DDA
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0600256E RID: 9582 RVA: 0x00339BEA File Offset: 0x00337DEA
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001CC4 RID: 7364
		private TObjectName windowName;

		// Token: 0x04001CC5 RID: 7365
		private TPartitionClause _partitionClause;

		// Token: 0x04001CC6 RID: 7366
		private TOrderBy orderBy;

		// Token: 0x04001CC7 RID: 7367
		private TWindowFrame windowFrame;

		// Token: 0x04001CC8 RID: 7368
		private THiveDistributeBy distributeBy;

		// Token: 0x04001CC9 RID: 7369
		private THiveClusterBy clusterBy;

		// Token: 0x04001CCA RID: 7370
		private THiveSortBy sortBy;
	}
}
